
import java.io.*;

public class ManejadorArchivos {
	/**
	 * Realiza una lectura de un archivo de texto devolviendo un String con el contenido del mismo
	 * 
	 * @param archivo Ruta completa con el nombre del archivo a leer
	 * @return Contenido del archivo de texto
	 */
	public String leerArchivo(String archivo){
		FileReader fr;
		String contenido = "";
		try {
			fr = new FileReader(archivo);
			BufferedReader br = new BufferedReader(fr);
			String lineaActual = br.readLine();
			while (lineaActual != null){
				contenido += lineaActual;
				lineaActual = br.readLine();
				if(lineaActual != null){
					contenido += "\n";
				}
			}
			//System.out.println("Archivo leido satisfactoriamente: " + archivo);
		} catch (FileNotFoundException e) {
			System.out.println("Error al leer el archivo "+ archivo);
			e.printStackTrace();
		} catch (IOException e) {
			System.out.println("Error al leer el archivo "+ archivo);
			e.printStackTrace();
		}
		return contenido;
	}

	/**
	 * Realiza una escritura de texto en un archivo
	 * 
	 * @param archivo Ruta completa con el nombre del archivo a escribir
	 * @param contenido Contenido a escribir en el archivo
	 * @param agregarAlFinal true: Agrega el contenido al final del archivo. false: Sobreescribe el archivo.
	 */
	public void escribirArchivo(String archivo, String contenido, boolean agregarAlFinal) {
		FileWriter fw;
		try {
			fw = new FileWriter(archivo, agregarAlFinal);
			BufferedWriter bw = new BufferedWriter(fw);
			bw.write(contenido);
			bw.newLine();
			bw.close();
			fw.close();
			//System.out.println("Archivo escrito satisfactoriamente: " + archivo);
		} catch (IOException e) {
			System.out.println("Error al escribir el archivo "+ archivo);
			e.printStackTrace();
		}
	}
}
